Robust Evaluation of Expressions by Distributed Virtual Machines

نویسنده

  • Lance R. Williams
چکیده

We show how expressions written in a functional programming language can be robustly evaluated on a modular asynchronous spatial computer by compiling them into a distributed virtual machine comprised of reified bytecodes undergoing diffusion and communicating via messages containing encapsulated virtual machine states. Because the semantics of the source language are purely functional, multiple instances of each reified bytecode and multiple execution threads can coexist without inconsistency in the same distributed heap. 1 A Pourable Computer Let us consider a hypothetical molecular computer of the far future. Outwardly, it might look like a beaker filled with water. However, instead of transistors made of silicon, its active components would be billions of instances of hundreds of different molecular species, all in solution. Some species would represent instructions while others would represent data. Whether instructions or data, the interactions between the molecules in solution would be rapid, highly specific, and diffusion driven. The resulting computational process would be parallel, distributed, spatial, and asynchronous. Compared to a conventional computer, a molecular computer of the kind described above would have several interesting properties. For example, if half of the contents of the beaker containing a running computation were poured into a second beaker we would expect the computation to continue uninterrupted in both. Similarly, if we were to continue this process, and were to pour half of the contents of the two beakers into two more beakers, we would expect the computation to continue uninterrupted in all four. Significantly, we would expect to be able to continue this process of dividing the computation until the volume of liquid in each beaker was so small that some beakers were missing instances of one or more of the molecular species necessary for the computation to continue. To summarize, we observe that, up to a point, dividing the computation into two changes neither its eventual result nor the time required for it to complete–it merely decreases the probability of its completion. We become aware of a second and equally interesting property when we consider the effect of pouring the contents of two beakers (previously divided) back into one. We would expect that the computation in the first beaker would reintegrate with the computation in the second. Reactants and products from the J. Durand-Lose and N. Jonoska (Eds.): UCNC 2012, LNCS 7445, pp. 222–233, 2012. c © Springer-Verlag Berlin Heidelberg 2012 Robust Evaluation of Expressions by Distributed Virtual Machines 223 first beaker would combine indiscriminately with reactants and products from the second. Significantly, as was true when the computation was divided, the recombining of the computations changes neither its eventual result nor the time required for its completion–it merely increases the probability of its completion. 2 A Modular Asynchronous Spatial Computer Now, it may be that a molecular computer like the one described above will never be practical. However, we would like to advance the radical proposition that computations with the same desirable properties can be achieved by (something which is in effect) a simulation of a molecular computer on a modular asynchronous spatial computer constructed from conventional electronic components. As an alternative to the von Neumann stored-program computer, asynchronous spatial computers have attracted considerable interest[1,4,5,12,13]. In this paper we focus on theMovable Feast Machine[1]. The MFM was chosen because its semantics are expressive and well defined, and (most importantly) because there is an actual hardware implementation based on open source Illuminato X Machina boards. An IXM board is small and square and has a connector on each of its four sides. Multiple boards can be connected to form large two-dimensional grids; each board draws its power from its neighbors. Significantly, IXM boards can be added to and removed from a grid without halting a computation. In the extreme, a computation running on a grid might finish on completely different hardware than it started on. In the MFM, each IXM board is used to simulate a 48× 48 array of sites. A site is either empty or occupied by an atom, which is subject to random motion or diffusion. An atom has 64 bits of state; sixteen of these bits are reserved and comprise the atom’s header which leaves 48 bits available for general use. An atom can sense and change the state of other atoms in its event window (sites within L1 distance four or less) which may straddle the boundary between adjacent IXM boards. The update process for atoms is random and asynchronous; there is no global clock. Atoms can form bonds with other atoms which restrict their relative motion so that they can remain in constant communication. Long bonds can join any pair of actors with overlapping event windows. Short bonds can join any pair of actors within L1 distance two or less. In effect, bonds are short relative addresses which are automatically updated as the atoms they join undergo diffusion. See Figure 1.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Designing a new robust control for virtual inertia control in the microgrid with regard to virtual damping

Background and Objectives: Virtual inertia control, as a component of a virtual synchronous generator, is used for the implementation of synchronous generator behaviour in microgrids. In microgrids that include high-capacity distributed generation resources, in addition to virtual inertia, virtual damping can also lead to improvement of frequency stability of the microgrid. The purpose of the c...

متن کامل

Analytical evaluation of an innovative decision-making algorithm for VM live migration

In order to achieve the virtual machines live migration, the two "pre-copy" and "post-copy" strategies are presented. Each of these strategies, depending on the operating conditions of the machine, may perform better than the other. In this article, a new algorithm is presented that automatically decides how the virtual machine live migration takes place. In this approach, the virtual machine m...

متن کامل

Energy management of virtual power plant to participate in the electricity market using robust optimization

Virtual power plant (VPP) can be studied to investigate how energy is purchased or sold in the presence of electricity market price uncertainty. The VPP uses different intermittent distributed sources such as wind turbine, flexible loads, and locational marginal prices (LMPs) in order to obtain profit. VPP should propose bidding/offering curves to buy/sell from/to day-ahead market. In this pape...

متن کامل

A Genetic Based Resource Management Algorithm Considering Energy Efficiency in Cloud Computing Systems

Cloud computing is a result of the continuing progress made in the areas of hardware, technologies related to the Internet, distributed computing and automated management. The Increasing demand has led to an increase in services resulting in the establishment of large-scale computing and data centers, in addition to high operating costs and huge amounts of electrical power consumption. Insuffic...

متن کامل

Optimal Evaluation of Fortran-90 Array Expressions for Distributed Memory Machines

The owner-computes strategy has been used for evaluation of Fortran-90 array expressions on distributed memory machines. This strategy simpliies code generation but is often expensive in terms of the total communication cost and size of temporary memory required for its implementation. In this paper, we propose the relaxing of the owner computes strategy, to reduce the total communication and t...

متن کامل

Virtual Data System on distributed virtual machines in computational grids

This paper presents the work of building a Grid workflow system on distributed virtual machines. A Grid Virtualization Engine (GVE) is implemented to manage virtual machines as computing resources for Grid applications. The Virtual Data System (VDS) functions as a Grid workflow engine. This paper designs and implements the Virtual Data System on distributed virtual machines, which are enabled b...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012